Conversation
Integrate the shared .dev-kit submodule to bring standardized tooling to the Magento 2 extension repo. This adds shared git hooks (commit-msg linting, pre-commit checks), a self-documenting Makefile powered by common.mk, and consistent editor/git configuration via .editorconfig and .gitattributes templates. The existing Makefile targets are preserved but reorganized to follow the .dev-kit convention: `test` and `lint` now delegate through the standard interface in common.mk to project-specific `_test` and `_lint` implementations. Project-specific targets like `test-unit`, `test-compatibility`, `test-local`, and `lint-fix` remain directly accessible and are annotated for `make help` discoverability. Ticket: TAX-102
…ease Adds dependency management (dependabot + auto-merge for .dev-kit updates) and release workflow. Existing CI workflows are untouched. Ticket: TAX-102
Bump the .dev-kit submodule from the previous pinned version to v1.3.2, which includes the v1.3.1 fix for extensionless binary files in .gitattributes. The updated .gitattributes is also copied into the repo root so that Git LFS and diff behavior apply correctly to binaries that lack a file extension. Ticket: TAX-102
| Gemfile.lock -diff | ||
| poetry.lock -diff | ||
| composer.lock -diff | ||
|
|
||
| # Merge strategy: lock files should be regenerated, not merged. | ||
| # "ours" keeps the current branch's version; the developer then | ||
| # re-runs the package manager to reconcile. | ||
| package-lock.json merge=ours | ||
| yarn.lock merge=ours | ||
| pnpm-lock.yaml merge=ours |
There was a problem hiding this comment.
🔴 All export-ignore rules removed from .gitattributes, bloating release archives with dev files
The old .gitattributes excluded development/CI files from git archive (used by GitHub for release ZIPs and Composer for package distribution). The new file completely replaces the old content and drops all export-ignore directives. The previously excluded paths (Test/, .github/, scripts/, Makefile, run-test.sh, .cursorrules, docs/images/) will now be included in release archives. This is especially impactful because this PR also adds a release workflow (release.yml) that creates GitHub releases, and this is a Magento extension distributed via Composer — end users will receive test suites, CI workflows, and build scripts in their vendor/ directory.
Prompt for agents
In .gitattributes, after the existing content (or at the end of the file), add back the export-ignore rules that were present in the original file. These rules exclude dev/CI files from git archive output (GitHub release ZIPs and Composer packages). Add a new section like:
# =============================================================================
# Export Ignore (git archive / release ZIPs)
# =============================================================================
# Exclude dev/CI files from git archive (GitHub release ZIPs, Composer packages).
.gitignore export-ignore
.gitattributes export-ignore
.github/ export-ignore
.cursorrules export-ignore
.dev-kit export-ignore
.gitmodules export-ignore
.editorconfig export-ignore
Test/ export-ignore
Makefile export-ignore
run-test.sh export-ignore
scripts/ export-ignore
docs/images/ export-ignore
Also consider adding the newly introduced files (.dev-kit, .gitmodules, .editorconfig, devin_review_ignored_file_changes.md) to the export-ignore list.
Was this helpful? React with 👍 or 👎 to provide feedback.
| [*] | ||
| charset = utf-8 | ||
| end_of_line = lf | ||
| indent_style = space | ||
| indent_size = 2 | ||
| insert_final_newline = true | ||
| trim_trailing_whitespace = true |
There was a problem hiding this comment.
🔴 .editorconfig default 2-space indent applies to PHP files, violating .cursorrules 4-space mandate
The .cursorrules file explicitly states under Code Style Guidelines: "Use proper indentation (4 spaces)". The new .editorconfig sets indent_size = 2 as the global default with no [*.php] section to override it. Since the glob [*] matches all files including *.php, editors respecting .editorconfig will auto-format PHP code with 2-space indentation. All existing PHP files in the project (e.g. Model/Tax.php, Model/Api.php) use 4-space indentation per PSR-2. This configuration will actively cause new contributions to use the wrong indentation style.
Prompt for agents
In .editorconfig, add a PHP-specific section after the default [*] block (or after the YAML section) that sets the correct 4-space indentation for PHP files, matching PSR-2 and the .cursorrules requirement:
# PHP: 4-space indent (PSR-2 standard)
[*.php]
indent_size = 4
This should be added somewhere in the file, for example after line 41 (the YAML section) or after line 18 (the default section).
Was this helpful? React with 👍 or 👎 to provide feedback.
v1.3.3 auto-skips npm script discovery in repos without package.json, removing the need for NPM_SCRIPTS_DISABLE.
Picks up smart auto-detect for standard targets (Go, Rust, Node), consolidated target extraction, description promotion, test infrastructure improvements, and Rust tooling support.
Summary
Adds
.dev-kitv1.3.0 as a git submodule, providing:make helpwith grouped targets.editorconfigand.gitattributesfor consistent editor/git behaviorExisting CI test/lint workflows are untouched.
What changed
.dev-kitsubmodule addedMakefileupdated to useinclude .dev-kit/mk/common.mk.editorconfigand.gitattributesadded from shared templates.github/workflows/release.yml— GitHub release on version tags.github/dependabot.yml— weekly dependency updates.github/workflows/auto-merge-devkit.yml— auto-merge .dev-kit bumpsNext steps after merge
make dk-hookslocally to activate shared git hooksTAX-102